import { resolve } from 'path';
import { loadEnv } from './src/utils/Utils' ;
// import { modifyVars } from './config/global/less';
// import { setupBasicEnv } from './config/vite/env';
// import { createMockServer } from 'vite-plugin-mock';
import type { UserConfig, Plugin as VitePlugin } from 'vite';
import {envUtil} from './src/utils/Utils'
// setupBasicEnv();
function pathResolve(dir: string) {
    return resolve(__dirname, '.', dir);
}

// loadEnv();
// console.log("import.meta.env::" ,import.meta.env);
//console.log("VITE_PORT  "+envUtil.get('VITE_PORT'))
// console.log("vite_key ::"+envUtil.get('vite_key'))
const viteConfig: UserConfig = {
    /**
     * 端口号
     * @default '3000'
     */
    port: 9000,
    /**
     * 服务地址
     * @default 'localhost'
     */
    hostname: '127.0.0.1',
    /**
     * 运行自动打开浏览器·
     * @default 'false'
     */
    open: false,
    /**
     * 压缩代码
     *  boolean | 'terser' | 'esbuild'
     * @default 'terser'
     */
    // minify: isDevFn() ? false : 'terser',
    /**
     * 基本公共路径
     * @default '/'
     */
     base: "./",
  
    /**
     * 打包输入路径
     * @default 'dist'
     */
    outDir: 'dist',
    /**
     * @default 'false'
     */
    sourcemap: false,
    /**
     * 资源输出路径
     * @default '_assets'
     */
    assetsDir: '_assets',
    /**
     * 静态资源小于该大小将会内联，默认4096kb
     * @default '4096'
     */
    assetsInlineLimit: 4096,
    /**
     * esbuild转换目标。
     * @default 'es2019'
     */
    esbuildTarget: 'es2019',
    silent: false,
    // 别名
    alias: {
      '/@/': pathResolve('src'),
    },
    // define: {
    //   __ENV__: 'value',
    // },
    // css预处理
    // cssPreprocessOptions: {
    //   less: {
    //     modifyVars: modifyVars,
    //     javascriptEnabled: true,
    //   },
    // },
    // 配置Dep优化行为
    // 会使用 rollup 对 包重新编译，将编译成符合 esm 模块规范的新的包放入 node_modules 下的 .
    optimizeDeps: {
      include: ['ant-design-vue/es/locale/zh_CN', '@ant-design/icons-vue', 'moment/locale/zh-cn'],
    },
    // 本地跨域代理
    // proxy: createProxy(VITE_PROXY),
    proxy: {
      // "/test":{
      //   target: "http://127.0.0.1:9001/wh/",
      //   changeOrigin: true,
      //   rewrite: (path: string) => path.replace(new RegExp(`^/test`), 'test/t1'),
      // },
      "/api":{
        target : "http://127.0.0.1:9001/wh",
        changeOrigin: true,
        rewrite: (path: string) => {
          console.log('path::'+ path);
          return path.replace(new RegExp(`^/api`), '');
        }
      }
    }
  
    // plugins: [PurgeIcons(), ...vitePlugins],
    // rollupOutputOptions: {},
    // rollupInputOptions: {
    //   plugins: rollupPlugins,
    // },
  };
  
  export default viteConfig;